import axios from 'axios'
import router from '../router'
const service = axios.create({
  baseURL: '/api',
  timeout: 5000
})

// 白名单
const whiteList = ['/user/login']

// 请求拦截器
service.interceptors.request.use(
  config => {
    if (!whiteList.includes(config.url)) {
      // 在发送请求之前做些什么，例如添加 token
      const account: any = JSON.parse(localStorage.getItem('account'));
      if(account){
        const token = account.token
        console.log(account)
        if (token) {
          config.headers['token'] = `${token}`;
        }
      } 
    }
    return config;
  },
  error => {
    // 处理请求错误
    console.log(error);
    return Promise.reject(error);
  }
)

// 响应拦截器
service.interceptors.response.use(
  response => {
    // 对响应数据做点什么
    return response.data;
  },
  error => {
    // 处理响应错误
    console.log('err' + error);
    // 跳转到登录页面
    router.push('/login')
    return Promise.reject(error);
  }
)

// 封装具体的请求方法
const request = {
  test() {
    return service.get('/admin/employee/test')
  },
  login(data: any) {
    return service.post('/user/login', data)
  }
};

export default request